1. Field of the Invention
The present invention relates to a technology for preventing a network congestion based on feedback control, in an ABR (Available Bit Rate) communication service.
2. Description of the Related Art
Currently, the ATM Forum and ITU-T propose a service called the ABR service as a service for applying a data exchange technique implemented with an ATM (Asynchronous Transfer Mode) method, to a high-speed data communications network such as a LAN (Local Area Network), WAN (Wide Area Network), etc. With the ABR service, a switch feeds congestion information in a network back to a transmitting terminal, thereby avoiding congestion in the network. More specifically, the switch changes a transmission rate of the transmitting terminal while monitoring a use state of network resources, so that the network is efficiently operated, and congestion and a cell loss in the network can be prevented, in the ABR service. Provided below is the explanation about the ABR service.
 less than ABR Service greater than 
In a communication system using the ABR service, a resource management cell (hereinafter abbreviated to an RM cell) is used to notify information about network resources of a terminal. A transmitting terminal transmits the RM cell each time it transmits a predetermined number of user data cells. The RM cell reaches a receiving terminal via an ATM network, and doubles back to the transmitting terminal.
FIG. 1 is a schematic diagram showing the format of the RM cell. In the same manner as a user data cell, the RM cell is composed of a 5-byte (or 5-octet) header and a 48-byte payload as shown in this figure.
A GFC/VPI field in the header is used as a GFC (General Flow Control) field in a UNI (User Network Interface), while it is used as part of a VPI (Virtual Path Identifier) field in an NNI (Network Node Interface). Accordingly, the virtual path identifier VPI is handled as 8bits in the UNI, while it is handled as 12 bits in the NNI. Furthermore, a VCI field indicates a virtual channel identifier of 16 bits, and a PT field indicates a payload type of 3 bits, in the header. If the value of the payload type is xe2x80x9c000xe2x80x9d, it indicates a user cell of no (without) congestion. If the value of the payload type is xe2x80x9c110xe2x80x9d, it indicates an RM cell. A CLP field indicates a cell loss priority indication of 1 bit. An HER field indicates a header error control of 8bits.
In the 48-byte payload of the RM cell, an RM PROTOCOL ID field of 1 byte is an RM protocol identifier, and a DIR field of 1 bit is a direction indication bit. If the value of the DIR field is xe2x80x9c0xe2x80x9d, it indicates an F-RM cell (Forward RM cell). If the value of the DIR field is xe2x80x9c1xe2x80x9d, it indicates a B-RM cell (Backward RM cell). A BN field of 1 bit indicates a backward explicit congestion notification bit indicating a B-RM cell generated in a switch or a receiving terminal in an ATM network. A CI field of 1 bit indicates a congestion indication bit. An NI field of 1 bit indicates a cell rate no increase bit. An RA field of 1 bit indicates a request acknowledge response bit which is not used in an ABR service. Res fields of 3 bits indicate unused bits.
An ER field of 2 bytes indicates an explicit cell rate. A CCR field of 2 bytes indicates a current cell rate. An MCR field of 2 bytes indicates a minimum cell rate that is declared when a connection is established. A QL field of 4 bytes indicates a queue length which is unused in an ABR service according to an ATM forum regulation. An SN field of 4 bytes indicates a sequence number. Res fields of 30 bytes plus 6 bits indicate unused bits. A CRC field of 10 bits indicates a cyclic redundancy code check bit.
An ATM switch in an ATM network notifies information about the network to a transmitting terminal by writing resource information (band information and congestion information) about the condition of the switch to an RM cell passing through the switch. The transmitting terminal which receives the RM cell to which the band and congestion information, etc. are written, recalculates its ACR (Allowed Cell Rate) according to the information, and makes a communication at a rate equal to or lower than the ACR.
Furthermore, the transmitting terminal declares/negotiates a PCR (Peak Cell Rate) which is a maximum transmission rate, and an MCR (Minimum Cell Rate) which is a minimum request rate, to/with the network, at the beginning of the communication. The transmitting terminal cannot transmit ATM cells (hereinafter referred to as cells) at a rate higher than the PCR which is determined by the negotiation. Additionally, the ATM network secures a rate equal to or higher than the MCR determined by the negotiation. Therefore, the ACR at the transmitting terminal varies between the MCR and the PCR (MCRxe2x89xa6ACRxe2x89xa6PCR).
With these operations, the ATM network side can avoid and be restored from the congestion, and the terminal side can transmit cells at a high rate on the condition that the network resources are not congested.
 less than Operations Performed by an ABR Terminal greater than 
Operations performed by a transmitting terminal (ABR transmitting terminal) and a receiving terminal (ABR receiving terminal), which use the ABR service to make communications, are the target of standardization in the ATM Forum. Provided below is the brief explanation about the principal operations performed by these terminals.
ABR Transmitting Terminal:
The transmitting terminal transmits cells at a rate equal to or lower than the allowed cell rate ACR at each time point. The ABR transmitting terminal transmits one RM cell each time it transmits a predetermined number (Nrm-1) of user data cells. When receiving the RM cell, the transmitting terminal increases the ACR by a predetermined value if the CI (Congestion Indicator) bit, which is the congestion indication bit in the RM cell, is set to xe2x80x9c0xe2x80x9d (indicating non-congestion). On the other hand, the transmitting terminal decreases the ACR by a predetermined value if the CI bit is set to xe2x80x9c1xe2x80x9d (indicating congestion). Simultaneously with the above described operations, the transmitting terminal makes a comparison between an explicit rate ER (Explicit Rate) included in the RM cell and the previously recalculated ACR, and defines the lower rate as a new ACR. Note that, however, the value of the ACR must be within a range of MCRxe2x89xa6ACRxe2x89xa6PCR.
For an F-RM cell transmission, the transmitting terminal sets the peak cell rate PCR, which is declared by the user at the time of establishing a cell-call, in the ER field of the F-RM cell, sets the allowed cell rate ACR in the CCR field, and sets the minimum cell rate MCR in the MCR field.
When receiving a B-RM cell, the transmitting terminal can raise the cell rate within a range which is not beyond the peak cell rate PCR, according to a predetermined rule, on the condition that the congestion indication bit CI indicates non-congestion, and the cell rate no increase bit NI indicates that the cell rate can be increased. If the congestion indication bit CI indicates congestion, the transmitting terminal lowers the cell rate within a range which is not lower than the minimum cell rate MCR, according to a predetermined rule. Accordingly, the allowed cell rate ACR of the transmitting terminal is changed within the range MCRxe2x89xa6ACRxe2x89xa6PCR. If congestion does not occur in the ATM network, the transmitting terminal performs a transmission at the peak cell rate PCR or a cell rate close to the PCR.
ABR Receiving Terminal:
An ABR receiving terminal terminates a user data cell transmitted from a transmitting terminal, and returns a received RM cell to the transmitting terminal. If an EFCI (Explicit Forward Congestion Indication) bit indicating whether or not congestion occurs is set to xe2x80x9c1xe2x80x9d in the user data cell which is received immediately before the reception of the RM cell at that time, the receiving terminal assigns the value xe2x80x9c1xe2x80x9d to the congestion indication bit CI in the RM cell to be returned, and returns that RM cell.
 less than Operations Performed by an ATM Switch greater than 
Operations for implementing the ABR service, which are performed on an ATM network side, that is, operations performed by an ATM switch, are grouped into two major types, and respectively called an EFCI mode and an ER mode.
A switch in the EFCI mode sets the EFCI bit in a user data cell passing through the ATM switch in a congested state. With this setting, the congestion in the switch can be notified to the receiving terminal, which then returns the RM cell whose CI bit is set by the receiving terminal itself. As a result, the congestion can be notified to the transmitting terminal.
A switch in the ER mode calculates a rate at which terminals can perform a transmission based on a congested state, and an available band in the switch, also calculates the explicit rate ER which is a rate at which a transmitting terminal is allowed to perform a transmission, and writes that ER to the ER field of an RM cell passing through the ATM switch in a forward direction (from the transmitting side to the receiving side), or in a backward direction (from the receiving side to the transmitting side). With these operations, the ATM switch can directly instruct the terminals of the rate, thereby performing rate control more precisely.
Furthermore, the switch itself can generate an RM cell, and transmit the generated RM cell to the transmitting terminal in addition to an RM cell transmitted from a terminal, regardless of the EFCI mode or the ER mode. At this time, the ATM switch can set the CI bit in the RM cell, or write a calculated explicit rate ER to the generated RM cell, depending on its congested state or available band.
The ATM Forum targets the above described operations as the ATM switch operations to be standardized. A specific control method or an implementation method, however, are not the target of standardization. For example, a method for detecting a congested state in an ATM switch, or an algorithm for calculating the explicit rate ER, is not to be standardized.
To assure a communication quality for each user in an ATM network, a rate of flow of cells from each user is monitored in a UNI (User-Network Interface), which is a network-terminal interface arranged at an entry point of the network. If cells exceeding an allowed rate are transmitted, a UPC (Usage Parameter Control) capability for discarding those violation cells, etc. must be provided.
If violation cells are allowed to flow into the network, congestion occurs due to a massive flow of cells into a communications channel. Therefore, there is a possibility that the quality of communications, not only of that user but also another user, cannot be assured. Since it must be also monitored whether or not the user observes a rate instructed from the network by an RM cell in addition to a rate of flow of cells contracted between the user and the network at the time of establishment of the call, the monitoring rate under the UPC control must dynamically be changed depending on the contents of the RM cell.
Under the UPC control, a switch cannot change the monitoring rate immediately after it writes an ER or congestion indication to an RM cell. This is because a delay is caused due to a time required for the following operations: the RM cell reaching a transmitting terminal; the transmitting terminal changing the ACR depending on the contents of the received RM cell; and the cell transmitted after that reaching the ATM switch. Therefore, the monitoring rate must be changed after a turnaround delay time elapses. The ATM switch making the ABR communication therefore needs to measure a delay time required for the UPC.
In the ABR communication, the monitoring rate must be changed after the ER written to the RM cell is changed according to the monitoring rate in the UNI, and the above described amount of delay time elapses.
To possibly prevent a user side from erroneously determining a cell as a violation cell in the UPC, when the user side obeys an instruction from a switch, the ATM Forum and the ITU-T are currently discussing whether or not to make the UPC lower the rate according to the maximum value xcfx842 of a delay time, or raise the rate according to a minimum value xcfx843 of the delay time.
Since the transmitting terminal terminates an RM cell which has returned from the switch to the transmitting terminal, the total amount of transmission time obtained by adding a travel time of the cell transmitted from the switch to the transmitting terminal to the travel time of the cell transmitted from the transmitting terminal to the switch, may be used as the above described amount of delay time to be measured.
Because clock phases for measuring delays on both on the transmitting and switch sides must be synchronous with high precision in order to define the above described total amount as an accurate delay time, this is difficult to realize.
Additionally, the following two problems must be overcome in order to implement the ABR service in an ATM switching system.
Problem 1: Operations performed by an ABR terminal are the target of standardization as described above, but specific operations performed by an ATM switch are not the target of standardization. Accordingly, the ATM switch must include a control capability for implementing the operations of the above described EFCI mode or ER mode in order to support the ABR service in the ATM switch. Consequently, the ATM switch requires a new control capability which is not included in a conventional ATM switch.
Problem 2: Since a switching speed of an ATM switch is remarkably high in a large scale ATM switching system, a capability of calculating/changing the explicit rate ER can hardly be implemented in all of the buffers.
The present invention aims at overcoming the above described problems. A first object of the present invention is to provide a delay time measuring method which can monitor and control a flow of cells flowing from a transmitting terminal to a network in an ABR communication by setting a suitable value as a delay parameter to be set in a UPC. A second object of the present invention is to provide an ABR control method and an ABR control system which can avoid congestion, and improve line use efficiency at the same time. A third object of the present invention is to provide a specific ABR control capability which can accommodate the ABR service even in a large-scale ATM switching system, etc.
A method according to the present invention is a method for measuring a delay time by a switch in an ATM network providing an ABR service. This method comprises the steps of detecting a first RM cell flowing in a first direction in the ATM network; storing an arrival time, connection identifier, and a sequence number of the detected first RM cell; obtaining an arrival time of a second RM cell, which flows in a second direction opposite to the first direction, when the second RM cell, having the same connection identifier and sequence number as the stored connection identifier and sequence number, arrives; and calculating a turnaround delay time required in a period during which an RM cell arrives at the switch, doubles back at an ABR terminal, and returns to the switch, by subtracting the arrival time of the first RM cell from the arrival time of the second RM cell.
This method may further comprise the steps of measuring the turnaround delay time in a direction of an ABR connection an xe2x80x9cNxe2x80x9d (an arbitrary number) number of times, if ABR connections are bidirectionally established between terminals; and setting maximum and minimum values of the measured turnaround delay times as maximum and minimum values of delay parameters used in a UPC, for an ABR connection in a different direction.
Additionally, this method may further comprise the steps of once measuring the turnaround delay time in a direction of an ABR connection, if ABR connections are bidirectionally established between terminals; and setting maximum and minimum values of turnaround delay times calculated based on an exponential distribution whose average is the measured turnaround delay time, as maximum and minimum values of delay parameters used in a UPC, for an ABR connection in a different direction.
A switch according to the present invention is a switch in an ATM network providing an ABR service. The switch comprises a first detecting unit for detecting a first RM cell flowing in a first direction in the ATM network; a storing unit for storing an arrival time, connection identifier, and a sequence number of the first RM cell detected by the first detecting unit; a second detecting unit for detecting a second RM cell flowing in a second direction in the ATM network; and a calculating unit for calculating a turnaround delay time required in a period during which an RM cell arrives at the switch, doubles back at an ABR terminal, and returns to the switch, by subtracting the arrival time of the first RM cell from the arrival time of the second RM cell, if the connection identifier and sequence number of the second RM cell match the connection identifier and sequence number of the first RM cell, which are stored in said storing unit.
The switch may further comprise a UPC parameter controlling unit for measuring the turnaround delay time in a direction of an ABR connection an xe2x80x9cNxe2x80x9d (an arbitrary integer) number of times, and setting maximum and minimum values of measured turnaround delay times as maximum and minimum values of delay parameters used in a UPC, for an ABR connection in a different direction, if ABR connections are bidirectionally established between terminals.
Additionally, the switch may further comprise a UPC parameter controlling unit for measuring the turnaround delay time in a direction of an ABR connection, and setting maximum and minimum values of the turnaround delay time calculated based on an exponential distribution whose average is the measured turnaround delay time, as maximum and minimum values of delay parameters used in a UPC, for an ABR connection in a different direction, if ABR connections are bidirectionally established between terminals.
A storage medium according to the present invention is a computer-readable storage medium. The storage medium stores a program which executes the above described method for measuring a delay time according to the present invention in a switch in an ATM network providing an ABR service.
An ABR controlling method according to the present invention is a method for notifying an allowed transmission rate to a terminal of an ATM network. This method comprises the steps of obtaining the number of active connections in which one or more cells arrive during an observation period, in correspondence with an output channel; and notifying a value obtained by dividing a band of the output channel by the number of active connections, to a transmitting terminal, as the allowed transmission rate. Accordingly, the transmission rate suitable for the number of active connections, can be set.
Another ABR controlling method according to the present invention is a method for notifying an allowed transmission rate to a transmitting terminal in an ATM network. This method comprises the steps of obtaining a number of active connections in which one or more cells arrive during an observation period, in correspondence with an output channel; subtracting a value which is a total of minimum cell rates of the active connections corresponding to the output channel from a band of the output channel, dividing the result of the subtraction by the number of active connections, and adding the minimum cell rate corresponding to each of the active connections to the divided value, and notifying the allowed transmission rate to the transmitting terminal. With this process, the allowed transmission rate can be set in order not to be lower than the minimum cell rate.
The above described ABR controlling method may further comprise the steps of setting an arbitrary number of threshold values for at least either of a shared buffer memory which temporarily stores cells from a transmitting terminal, and an address management FIFO buffer memory which manages addresses of the shared buffer memory; setting a decreasing coefficient in correspondence with any of the threshold values; and notifying a value obtained by multiplying the allowed transmission rate by the decreasing coefficient corresponding to any of the threshold values, to the transmitting terminal, when an amount of storage exceeds any of the threshold values. Accordingly, the allowed transmission rate obtained based on the band of an output channel and the number of active VCs (virtual connections), is adjusted according to a state prior to an occurrence of congestion, thereby preventing congestion without fail.
Additionally, this method may further comprise the step of notifying the allowed transmission rate to the transmitting terminal as the minimum cell rate, when the amount of stored cells exceeds a particular threshold value.
Furthermore, a number of arrived cells is counted for each output channel, and a period during which a predetermined number of cells arrive, is designated as an observation period, according to this method.
Still further, the observation period is designated as a fixed period, according to this method. The fixed period is set, for example, by a timer.
An ABR controlling system according to the present invention is a system for notifying an allowed transmission rate of a transmitting terminal in an ATM network, as shown later in FIG. 7. The system comprises a shared buffer memory for temporarily storing cells transmitted from a transmitting terminal; an allowed transmission rate calculating unit for calculating the allowed transmission rate in correspondence with an output channel; an address management FIFO buffer memory for managing addresses of cells stored in said shared buffer memory; a congestion detection controlling unit for detecting congestion based on an amount of storage of the address management FIFO buffer memory or the shared buffer memory; and ER writing unit for writing the allowed transmission rate received from the allowed transmission rate calculating unit as it is, or a value obtained by lowering the allowed transmission rate according to a congestion notification signal received from the congestion detection controlling unit, to an RM cell, in order to notify the allowed transmission rate to the transmitting terminal, wherein the allowed transmission rate calculating unit obtains a number of active connections in which one or more cells arrive during an observation period, for each output channel, and calculates the allowed transmission rate by dividing the band of the output channel by the obtained number.
The allowed transmission rate calculating unit may comprise an arrived cell number counter for counting a number of arrived cells in correspondence with an output channel, and designating an observation period when the counted number reaches a predetermined number; an active VC (virtual connection) table to which a connection identifier of an arrived cell, which corresponds to the output channel, is written; an active VC number counter for obtaining the number of active VCs by counting the connection identifier which corresponds to the output channel, and is written to the active VC table; and an allowed transmission rate calculation controlling unit for calculating the allowed transmission rate by dividing the band of the output channel by the number of active VCs counted by the active VC number counter which corresponds to the output channel for which the arrived cell number counter counts the predetermined number of cells.
This unit may further comprise a total MCR calculation controlling unit for outputting a total MCR value by adding a minimum cell rate of an active connection for each output channel; an active VC number counter for obtaining the number of active connections during an observation period; and an allowed transmission rate calculation controlling unit for calculating the allowed transmission rate by subtracting the total MCR value during the observation period, which is obtained by the total MCR calculation controlling unit, from the band of the output channel, dividing the subtracted value by the number of active connections, and adding the minimum cell rate corresponding to the connection, to the divided value.
The ER writing unit may comprise an ER change parameter table in which a plurality of threshold values corresponding to the amount of storage of the address management FIFO buffer memory or said shared buffer memory, and decreasing coefficients corresponding to the plurality of threshold values, are set; and an ER calculating unit for multiplying the allowed transmission rate from said allowed transmission rate calculating unit, by the decreasing coefficient read from said ER change parameter table, based on information conveying that the amount of storage of said address management FIFO buffer memory or said shared buffer memory exceeds the plurality of threshold value.
A storage medium according to the present invention is a computer-readable storage medium, and stores a program which executes the above described ABR controlling method for notifying an allowed transmission rate of a terminal in an ATM network providing an ABR service.
An ATM switching system according to the present invention is a system for adjusting a transmission rate of cells by feeding back a congested state in the ATM switching system. The system comprises a congestion detecting unit for detecting a congested state of the ATM switching system; a congestion indication information setting unit for setting congestion indication information for indicating the congested state, in the cell switched by the ATM switching system, according to the congested state detected by the congestion detecting unit; a rate calculating unit for calculating an explicit rate for assigning a transmission rate to a transmission channel of a cell which relates to an occurrence of the congested state; and a rate changing unit for detecting an occurrence ratio of congestion in the transmission channel, changing the explicit rate based on the occurrence ratio, and reassigning the changed explicit rate to the cell fed back to the terminal.
The rate changing unit may make a comparison between the occurrence ratio of the congestion and a predetermined threshold value, and change the explicit rate calculated by said rate calculating unit based on the result of the comparison. Additionally, the rate changing unit may change the explicit rate, by dividing the explicit rate calculated by said rate calculating unit by a divisor value determined based on the result of the comparison. Furthermore, the rate changing unit may detect a number of cells in which the congestion indication information is set, which arrived during a predetermined observation period, and recognize the occurrence ratio of the congestion according to the number of arrived cells. Still further, the rate changing unit may recognize the occurrence ratio of the congestion based on an arrival interval of cells in which the congestion indication information is set. Still further, the rate changing unit may smooth a setting ratio of the congestion indication information included in a received cell, based on the setting ratio of the congestion indication information recognized before receiving the cell, make a comparison between the smoothed setting ratio and a predetermined threshold value, and change the explicit rate calculated by said rate calculating unit based on the result of the comparison.
Still further, the rate changing unit smooths a setting ratio of the congestion indication information included in a received cell, based on the following equation:
C(n)=xcex2xc2x7Now(n)+(1xe2x88x92xcex2)xc2x7C(nxe2x88x921)
C(n): the setting ratio after a current smoothing operation.
xcex2: a weight (0xe2x89xa6xcex2xe2x89xa61).
Now(n): an unsmoothed setting ratio which is currently detected.
C(nxe2x88x921): the setting ratio after a previous smoothing operation.
Still further, the rate changing unit may make a comparison between a setting ratio of the congestion indication information included in a received cell, and a plurality of predetermined threshold values, determine one of a plurality of predetermined values according to the plurality of predetermined threshold values, based on the comparison, and change the explicit rate calculated by the rate calculating unit, based on the determined value.
Still further, the rate changing unit may change the explicit rate calculated by said rate calculating unit, by a predetermined ratio, when a user data cell in which the congestion indication information is set arrives in a certain observation period.
The congestion indication information setting unit may set the congestion indication information as an explicit forward congestion indication bit in a payload type field in a header of the user data cell.
Additionally, the rate calculating unit may assign the calculated explicit rate to a resource management cell which is transmitted on the transmission channel and fed back to the terminal, while the rate changing unit may extract a resource management cell to which the explicit rate calculated by the rate calculating unit is assigned, change the explicit rate assigned to the resource management cell based on the occurrence ratio of the congestion, reassign the changed explicit rate to the extracted resource management cell, and retransmit the resource management cell to the transmission channel.
Furthermore, the rate calculating unit may count a number of active virtual connections in a transmission channel for each output channel, divide a transmission rate assigned for each output channel by the number of active virtual connections for each output channel, and calculate the explicit rate based on the result of the division.
Still further, the rate calculating unit may be arranged in correspondence with a demultiplexer which demultiplexes transmission channels in the ATM switching system. Still further, the rate calculating unit may be arranged in correspondence with an SRM which configures a switching unit in the ATM switching system.
An ATM switching method according to the present invention is a method for adjusting a transmission rate of a cell by feeding a congested state in an ATM switching system, back to a terminal. The method comprises the steps of detecting a congested state in an ATM switching system; setting congestion indication information for indicating the congested state in a cell switched in the ATM switching system, according to the detected congested state; calculating an explicit rate designating a transmission rate for a transmission channel of a cell relating to an occurrence of the congested state; and detecting an occurrence ratio of congestion in the transmission channel, changing the explicit rate based on the occurrence ratio, and assigning the changed explicit rate to the cell fed back to the terminal.
The method may further comprise the step of making a comparison between the occurrence of the congestion and a predetermined threshold value, and changing the explicit rate based on the result of the comparison. Additionally, this method may further comprise the step of changing the explicit rate by dividing the explicit rate by a divisor value determined based on the result of the comparison. Furthermore, the method may further comprise the step of detecting a number of cells in which the congestion indication information is set, which arrived during a predetermined observation period, and recognizing the occurrence ratio of the congestion according to the number of arrived cells. Still further, this method may comprise the step of recognizing the occurrence ratio of the congestion, based on an arrival interval of cells in which the congestion indication information is set.
The ATM switching method according to the present invention may further comprise the steps of smoothing a setting ratio of the congestion indication information included in a cell, based on the setting ratio of the congestion indication information, which is recognized before receiving the cell; making a comparison between the smoothed setting ratio and a predetermined threshold value; and changing the explicit rate based on the result of the comparison.
This method may further comprise the step of smoothing the setting ratio of the congestion indication information included in a cell, based on the following equation:
C(n)=xcex2xc2x7Now(n)+(1xe2x88x92xcex2)xc2x7C(nxe2x88x921)
C(n): the setting ratio after a current smoothing operation.
xcex2: a weight (0 less than xcex2xe2x89xa61).
Now(n): an unsmoothed setting ratio which is currently detected.
C(nxe2x88x921): the setting ratio after a previous smoothing operation.
Furthermore, this method may further comprise the steps of making a comparison between a setting ratio of the congestion indication information included in a cell and a plurality of predetermined threshold values; determining one of a plurality of predetermined values according to the plurality of predetermined threshold values, based on the comparison; and changing the explicit rate based on the determined value.
A storage medium according to the present invention is a computer-readable storage medium, and stores a program executing the above described ATM switching method for notifying an allowed transmission rate in an ATM network providing an ABR service to a terminal.
A communicating connection number counting system according to the present invention is a system for use in a cell switching network controlling an interval of a packet (cell) transmission at a transmitting terminal according to a state of the network. The system comprises a cell extracting unit for detecting a cell switched in the cell switching network; a connection counter for counting a number of connections in which at least one packet (cell) arrives, detected by said cell extracting unit, as a number of communicating connections; and a controlling unit for determining the number of communicating connections, which is recognized by said connection counter, before a predetermined period elapses from an observation start point.
The observation start point may be defined as a time point at which a cell arrives in said cell extracting unit, while the predetermined period may be defined as a period during which a predetermined number of cells arrive in said cell extracting unit. Additionally, the observation start point may be defined as a time point, while the predetermined period may be defined as a time interval.
The controlling unit may determine the number of communicating connections, each time a predetermined number of cells arrives in said cell extracting unit. Additionally, the controlling unit may determine the number of communicating connections at predetermined time intervals.
A second communicating connection number counting system according to the present invention is a system for use in a cell switching network controlling an interval of a packet (cell) transmission at a transmitting terminal according to a state of the network. The system comprises a cell extracting unit for detecting a cell switched in the cell switching network; a connection counter for counting a number of connections in which at least one packet (cell) arrives, detected by said cell extracting unit, as a number of communicating connections; and a controlling unit for estimating and determining the number of communicating connections to be recognized by said connection counter, after a predetermined time TM elapses from an observation start point.
The controlling unit may define an amount of time during which predetermined xe2x80x9cNxe2x80x9d communicating connections are recognized, from the observation start point, as xe2x80x9cTxe2x80x9d, and determine the number of communicating connections after the time TM elapses from the observation start point as NACTIIVE=xcex1xc3x97Nxc3x97TM/T, by using a coefficient xcex1.
Additionally, the controlling unit may count an actual number of communicating connections NACTIVE-R within the time TM from the observation start point, determine a new coefficient xcex1 by making a comparison between the NACTIVE-R and the NACTIVE, and use the new coefficient xcex1 in order to determine a next number of communicating connections.
Furthermore, the controlling unit may define a period during which predetermined xe2x80x9cNixe2x80x9d communicating connections are recognized, from the observation start point, as a time xe2x80x9cTixe2x80x9d, and determine the number of communicating connections NACTIVE after the time TM elapses from the observation start point, as NACTIVE=Nixc3x97TM/Ti, each time the time Ti elapses.
Still further, the controlling unit may divide the time TM into xe2x80x9cnxe2x80x9d shorter periods Tks, define the number of communicating connections, which is recognized until a shorter period Tk elapses from the observation start point, as a number xe2x80x9cNxe2x80x9d, and determine the number of communicating connections NACTIVE after the time TM elapses from the observation start point, as NACTIVE=Nxc3x97n.
Still further, the controlling unit may divide the time TM into xe2x80x9cnxe2x80x9d shorter periods Tks, define the number of communicating connections, which is recognized until a shorter period Tk elapses from the observation start point, as a number xe2x80x9cNxe2x80x9d, determine the number of communicating connections NACTIVE after the time TM elapses from the observation start point, as NACTIVE=xcex1xc3x97Nxc3x97n, count an actual number of communicating connections NACTIVE-R within the time TM from the observation start point, determine a new coefficient xcex1 by making a comparison between the NACTIVE-R and the NACTIVE, and use the new coefficient xcex1 in order tong determine a next number of communicating connections.
Still further, the controlling unit may divide the time TM into xe2x80x9cnxe2x80x9d shorter periods Tks, define the number of communicating connections, which is recognized within a shorter period Tk, each time the shorter period Tk elapses, as a number xe2x80x9cNkxe2x80x9d, and determine the number of communicating connections NACTIVE as NACTIVE=Nk+(Nkxe2x88x92Nkxe2x88x921)xc3x97(nxe2x88x92k), each time the shorter period Tk elapses from the observation start point,.
The communicating connection number counting system may further comprise a storing unit for storing a connection identifier of a cell which has arrived in said cell extracting unit, and setting an identification flag in correspondence with the connection identifier if the connection identifier has not been stored, wherein the controlling unit may set a maximum number xe2x80x9cMxe2x80x9d of connections which can be set in a switch, as the NACTIVE when the number of communicating connections counted by said connection counter, until the predetermined time TM elapses from the observation start point, exceeds a maximum number xe2x80x9cLxe2x80x9d of connections which can be stored in said storing unit.
If the NACTIVE exceeds the maximum number xe2x80x9cMxe2x80x9d of connections which can be set in the switch, the number of connections established in the switch is set as the NACTIVE.
If the NACTIVE exceeds the maximum number xe2x80x9cMxe2x80x9d of connections which can be set in the switch, the number of connections which are currently established in the switch is set as the NACTIVE.
The communicating connection number counting method according to the present invention is a method for use in a cell switching network which controls an interval of a packet (cell) transmission at a transmitting terminal according to a state of the network. This method may comprise the steps of detecting a cell switched in the cell switching network; counting a number of connections in which at least one packet (cell) is detected, as a number of communicating connections; and determining the number of communicating connections which is counted before a predetermined period elapses from an observation start point. This method may further comprise the step of implementing a capability in the above described first communicating connection number counting system.
A second communicating connection number counting method according to the present invention is a method for use in a cell switching network which controls an interval of a packet (cell) transmission at a transmitting terminal, according to a state of the network. This method comprises the steps of detecting a cell switched in the cell switching network; counting a number of connections in which at least one packet (cell) is detected, as a number of communicating connections; and estimating and determining the number of communicating connections to be recognized by a connection counter, until a predetermined time TM elapses from an observation start point. This method may further comprise the step of implementing a capability in the above described second communicating connection number counting system.
A storage medium according to the present invention is a computer-readable storage medium, and stores a program which executes a capability for counting a number of communicating connections in a cell switching network which controls an interval of a packet (cell) transmission at a transmitting terminal according to a state of the network. The capability comprises the steps of detecting a cell switched in the cell switching network; counting a number of connections in which at least one packet (cell) is detected, as the number of communicating connections; and determining the number of communicating connections which is counted before a predetermined period elapses from an observation start point. This storage medium may further comprise a capability for implementing the operations of the above described first system and the steps of the above described first method.
A second storage medium according to the present invention is a computer-readable storage medium, and stores a program which executes a capability for counting a number of communicating connections in a cell switching network which controls an interval of a packet (cell) transmission at a transmitting terminal according to a state of the network. The capability comprises the steps of detecting a cell switched in the cell switching network; counting a number of connections in which at least one packet (cell) is detected as the number of communicating connections; and estimating and determining the number of communicating connections to be recognized by a connection counter, until a predetermined time TM elapses from an observation start point. This storage medium may further comprise a capability for implementing the operations of the above described second system, and the steps of the above described second method.
The present invention covers each device, each system, and a storage medium (such as a magnetic disk, optical disk, magneto-optical disk, ROM, RAM, etc.), which stores the computer programs for implementing the methods together or separately. The present invention also covers the use of the programs which are separately stored in a plurality of storage media.